Networks consist of heterogeneous computing/network elements, each with its own distinct set of functions and commands to perform these functions. In particular, each computing element may have different functionality, use different protocols, and be implemented differently. Network elements provide a set of commands (in various formats) for the provisioning, operation, control, and query for status information of the elements. Network elements are designed for human operators to install, provision, and maintain elements in a network environment. Current technologies generally do not provide mechanisms to automate these human tasks and integrate them into the autonomic architecture for supporting autonomic networking systems.
More specifically, current technologies generally do not provide mechanisms that 1.) translate policies and service requests into a specific sequence of commands to operate, administrate, and provision a network element; 2.) integrate with information and data models to manage the status, faults, and resource allocations requested of networking elements to build Extended Finite State Machines (“EFSMs”) and update them with sensed information; 3.) optimize the allocation of resources and manage the operation of the network element, especially in the face of unplanned change in environmental conditions, interaction with different elements, and changing user and business objectives; and 4.) enable the autonomous operation of network elements governed by policies rather than element-specific operations.
Although some conventional systems provide autonomic architectures and policy-based management to achieve system-wide optimization of networking resources to meet business needs, a mechanism has not yet been defined to prescribe how commands can be sent to devices to orchestrate control based on their current state.
Therefore a need exists to overcome the problems with the prior art as discussed above.